" Maintainer : Nikolai 'pcp' Weibull <da.box@home.se>
" Revised on : Tue, 24 Jul 2001 18:54:16 CEST
" Language : BDF Font definition
if version < 600
syntax clear
elseif exists("b:current_syntax")
finish
endif
" comments
syn region bdfComment start="^COMMENT\>" end="$" contains=bdfTodo
" todo
syn keyword bdfTodo contained TODO
" numbers
syn match bdfNumber display "\<\(\x\+\|\d\+\.\d\+\)"
" strings
syn region bdfString start=+"+ skip=+""+ end=+"+
" properties
syn keyword bdfProperties contained FONT SIZE FONTBOUNDINGBOX CHARS
" X11 properties
syn keyword bdfXProperties contained FONT_ASCENT FONT_DESCENT DEFAULT_CHAR
syn keyword bdfXProperties contained FONTNAME_REGISTRY FOUNDRY FAMILY_NAME
syn keyword bdfXProperties contained WEIGHT_NAME SLANT SETWIDTH_NAME PIXEL_SIZE
syn keyword bdfXProperties contained POINT_SIZE RESOLUTION_X RESOLUTION_Y SPACING
syn keyword bdfXProperties contained CHARSET_REGISTRY CHARSET_ENCODING COPYRIGHT
syn keyword bdfXProperties contained ADD_STYLE_NAME WEIGHT RESOLUTION X_HEIGHT
syn keyword bdfXProperties contained QUAD_WIDTH FONT AVERAGE_WIDTH
syn region bdfDefinition transparent matchgroup=bdfDelim start="^STARTPROPERTIES\>" end="^ENDPROPERTIES\>" contains=bdfXProperties,bdfNumber,bdfString
" characters
syn keyword bdfCharProperties contained ENCODING SWIDTH DWIDTH BBX ATTRIBUTES BITMAP
syn match bdfCharName contained display "\<[0-9a-zA-Z]\{1,14}\>"
syn match bdfCharNameError contained display "\<[0-9a-zA-Z]\{15,}\>"
syn region bdfStartChar transparent matchgroup=bdfDelim start="\<STARTCHAR\>" end="$" contains=bdfCharName,bdfCharNameError
syn region bdfCharDefinition transparent start="^STARTCHAR\>" matchgroup=bdfDelim end="^ENDCHAR\>" contains=bdfCharProperties,bdfNumber,bdfStartChar
" font
syn region bdfFontDefinition transparent matchgroup=bdfDelim start="^STARTFONT\>" end="^ENDFONT\>" contains=bdfProperties,bdfDefinition,bdfCharDefinition,bdfNumber,bdfComment
if exists("bdf_minlines")
let b:bdf_minlines = bdf_minlines
else
let b:bdf_minlines = 50
endif
exec "syn sync minlines=" . b:bdf_minlines
" Define the default highlighting.
" For version 5.7 and earlier: only when not done already
" For version 5.8 and later: only when an item doesn't have highlighting yet